procedure TMainForm.FormShow(Sender: TObject);
var
  hwndOwner: HWnd;
begin
  hwndOwner := GetWindow(Handle, GW_OWNER);
  ShowWindow(hwndOwner, SW_HIDE);
  // For Windows 2000, additionally call the ShowWindowAsync function:
  ShowWindowAsync(hwndOwner, SW_HIDE);
  ShowWindowAsync(Self.Handle, SW_HIDE);
end;
{
  Prevent the form from reappearing on the Taskbar after minimizing it:
}
private
  
procedure WMSysCommand(var msg: TWMSysCommand); message WM_SysCommand;
{....}
implementation

procedure TMainForm.WMSysCommand(var msg: TWMSysCommand);
begin
  if msg.CmdType and $FFF0 = SC_MINIMIZE then
    hide
  else
    inherited;
end;
